The present invention relates to device formats in a computer system, and more particularly to maintaining compatible device formats in device lists for computer systems with expanded device formats.
In typical computer systems, application programs submit data in a predefined format for producing desired outputs on display devices. The data is normally stored in a frame buffer in the computer system. As shown in FIG. 1a, a typical system arrangement includes an application program 10 which interacts with and submits data to a computer system 12. The computer system 12 includes a central processing unit (CPU) 14 coupled to a frame buffer 16. The frame buffer 16 is further coupled to a digital-to-analog converter (DAC) 18. The DAC 18 receives digital data from the frame buffer 16 and converts it by well-known techniques to analog data for output on a display device 20. Of course, computer system 12 includes other components to perform other operations, the details of which are well known to those skilled in the art.
With the system arrangement as shown in FIG. 1a, the display device 20 may be one of a number of display device types, such as color, black and white, etc. the application program 10 is configured to support a format of at least one display device type. A device list, which describes the format of a frame buffer, such as the frame buffer 16, normally exists within computer system 12 and provides the display device type for the application program 10.
FIG. 1b is a representation of a device list 11. The device list 11 includes a plurality of data structures 13a-13c, each of the data structures 13a-13c representing a particular device, such as a monitor. Each of the data structures 13a-13c include a plurality of data fields 15a-c, respectively, that indicate information about the device associated with that data structure 13a-13c. Also within each data structure 13a-13c there is typically a next device field 17 which points to the next data structure, as indicated by the arrows in FIG. 1b, thereby allowing for the linking of the data structures 13a-13c to provide the device list 11.
While the system arrangement as shown in FIG. 1a is adequate for some computer systems, most application programs have difficulty supporting new formats developed to improve performance, since such improvements are typically done well after the application program has been developed. Additionally, attempting to change the application program to support such improvements is time-consuming and costly. Without the ability to communicate with a frame buffer operating in accordance with a new format, the application program is generally rendered ineffective, since it cannot provide data in that new display format.
Accordingly, a need exists for a flexible system arrangement that allows substantially transparent compatibility of an application program with differing formats for display devices. The present invention addresses such a need.
The present invention provides method, system, and apparatus aspects for providing transparent compatibility and adaptation to differing format implementations in a computer system. Included in a method aspect are providing a first format, the first format compatible with a format for an application program, and providing a second format, the second format compatible with a format for an output device. The method further includes transforming inputs by the application program from the first format to the second format for output on the output device to provide compatibility between the application program and the output device without substantially altering the application program.
In addition, providing a first format includes providing a first frame buffer of the first format, and providing a second format includes providing a second frame buffer of the second format. The first and second formats include first and second resolutions, depths, and video standards.
A system for improving compatibility between an application program and a display device of a computer system includes a CPU, and at least one real frame buffer coupled to the CPU and to the display device. The at least one real frame buffer is defined as having a format compatible with the display device. The system further includes at least one alternate frame buffer coupled to the at least one real frame buffer and the CPU, the at least one alternate frame buffer having a second format compatible with the application program, wherein the CPU controls transformations from the second format to the first format transparently to the application program. The at least one alternate frame buffer is defined as having a format that is not compatible with a display device.
In an apparatus aspect, an apparatus for improving compatibility between an application program and a display device of a computer system includes a first frame buffer means of a first format, the first frame buffer means compatible with and storing data from the application program, a second frame buffer means of a second format, the second frame buffer means compatible with the display device, and a transformation means between the first frame buffer means and the second frame buffer means for transforming data in the first format to data in the second format transparently to the application program. The apparatus further includes a CPU, the CPU coupled to and controlling the first and second buffer means and the transformation means. Additionally, the apparatus includes RAM, the RAM coupled to the CPU and the first buffer means for receiving untransformed data from the first buffer means.
With these aspects of the present invention, new formats are readily included in a computer system while maintaining compatibility with applications implementing old formats. The provision of frame buffers for the old formats ensures reception of data from the application programs, while the utilization of frame buffers with the new formats allows improved performance and reduced costs to be achieved. Additionally, the inclusion of frame buffers supporting new formats allows applications that also support the new formats to capably utilize them. These and other advantages of the aspects of the present invention will be more fully understood in conjunction with the following detailed description and accompanying drawings.